级联
1> concat()函数
沿轴执行级联操作
语法:
pd.concat(objs, axis = 0, join = 'outer', join_axes = None, ignore_index = False)
| 参数 | 说明 |
|---|---|
| objs | Series、DataFrame或 Panel 对象的序列或映射 |
| axis | {0,1,...},默认是 0, 是连接的轴 |
| join | {'inner','outer'},默认为 inner |
| join_axes | Index 对象列表 |
| ignore_index | 布尔值,默认为 False,如果指定为 True,则不要使用连接轴上的索引值 |
first = pd.DataFrame({
'name':['meng','zhi','wang'],
'number':['1001','1002','1003'],
'score':[95, 98, 91],
},index = [1, 2, 3])
second = pd.DataFrame({
'name':['li','zhang','ming'],
'number':['1001','1002','1005'],
'score':[93, 100, 97],
},index = [1, 2, 3])
rs = pd.concat([first,second])
print(f'对象连接:{rs}')
# 输出结果:
# 对象连接: name number score
# 1 meng 1001 95
# 2 zhi 1002 98
# 3 wang 1003 91
# 1 li 1001 93
# 2 zhang 1002 100
# 3 ming 1005 97
# 通过键参数把特定的键与 DataFrame 关联
rs1 = pd.concat([first, second],keys = ['x','y'])
print(f'使用键参数关联碎片:\n{rs1}')
# 输出结果:
# 使用键参数关联碎片:
# name number score
# x 1 meng 1001 95
# 2 zhi 1002 98
# 3 wang 1003 91
# y 1 li 1001 93
# 2 zhang 1002 100
# 3 ming 1005 97
# 生成对象必须遵循自己的索引
rs2 = pd.concat([first, second],keys = ['x','y'],ignore_index = True)
print(f'使生成对象遵循自己的索引:\n{rs2}')
# 输出结果:
# 使生成对象遵循自己的索引:
# name number score
# 0 meng 1001 95
# 1 zhi 1002 98
# 2 wang 1003 91
# 3 li 1001 93
# 4 zhang 1002 100
# 5 ming 1005 97
# 沿轴 1
rs3 = pd.concat([first,second],axis = 1)
print(f'沿 axis 设置值添加对象:\n{rs3}')
# 输出结果:
# 沿 axis 设置值添加对象:
# name number score name number score
# 1 meng 1001 95 li 1001 93
# 2 zhi 1002 98 zhang 1002 100
# 3 wang 1003 91 ming 1005 97
2> append()
append()沿着 axis = 0 连接
first = pd.DataFrame({
'name':['meng','zhi','wang'],
'number':['1001','1002','1003'],
'score':[95, 98, 91],
},index = [1, 2, 3])
second = pd.DataFrame({
'name':['li','zhang','ming'],
'number':['1001','1002','1005'],
'score':[93, 100, 97],
},index = [1, 2, 3])
rs1 = first.append(second)
print(f'append 函数带一个对象:\n{rs1}')
# 输出结果:
# append 函数带一个对象:
# name number score
# 1 meng 1001 95
# 2 zhi 1002 98
# 3 wang 1003 91
# 1 li 1001 93
# 2 zhang 1002 100
# 3 ming 1005 97
rs2 = first.append([second, first])
print(f'append 函数带多个对象:\n{rs2}')
# 输出结果:
# append 函数带多个对象:
# name number score
# 1 meng 1001 95
# 2 zhi 1002 98
# 3 wang 1003 91
# 1 li 1001 93
# 2 zhang 1002 100
# 3 ming 1005 97
# 1 meng 1001 95
# 2 zhi 1002 98
# 3 wang 1003 91